Information processing program and information processing apparatus

ABSTRACT

A computer of an information processing apparatus repeatedly accepts an operation to designate at least one of a plurality of command elements making up of a command, executes at least any one of a first memory writing processing to write a first command element having a specific attitude out of the command elements corresponding to the accepted operation in a first memory and a second memory writing processing to write a second command element having an attitude different from the attitude in a second memory, determines whether or not a command element array stored over the first memory and the second memory satisfies an execution allowable condition every execution of the writing processing, and processes information according to the command element array when the satisfaction is determined.

CROSS REFERENCE OF RELATED APPLICATION

The disclosure of Japanese Patent Application No. 2006-129230 isincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing program andan information processing apparatus. More specifically, the presentinvention relates to an information processing program and aninformation processing apparatus which accepts an operation, andprocesses information according to a command corresponding to theaccepted operation.

2. Description of the Related Art

One example of an apparatus of such a kind is disclosed in JapanesePatent Application Laid-Open No. 2005-44026. The conventional apparatusdisplays on a display a plurality of keys (command element) including aten key and a computation key, detects a touch operation to a touchpanel provided to the display, and executes an arithmetic operationaccording to a command element array corresponding to the series ofdetected touch operations. For example, when four keys of “9”, “÷”, “3”and “=” are sequentially touched, an arithmetic operation “9÷3=”according to the command element array is executed.

Furthermore, another example is disclosed in Japanese Patent Laid-openNo. 5-119946. In the related art, an operational object is displayed ona display, a touch operation to a touch panel provided to the display isdetected, and the operational object on the display is moved on thebasis of the detected result.

As a touch operation, there are two kinds including a touch operation(click-touch operation) being made up of a touch on to an arbitrarypoint and a touch off from the point, and a touch operation (slidingtouch operation) being made up of a touch on to an arbitrary firstpoint, a slide from the first point to an arbitrary second point and atouch off from the second point.

After a click-touch operation to a first point positioned within adisplay area of the operational object when a click-touch operation to asecond point positioned outside the display area is performed, theoperational object instantly moves to the position of the second point.On the other hand, when a sliding touch operation from the first pointto the second point is performed, the operational object gradually movesto the position of the second point as the sliding progresses.

However, in the Patent Document 1, a command element array correspondingto one certain processing is only one, and it is impossible to change adesignation order among the plurality of command elements.

On the other hand, the Patent Document 2 discloses two kinds of thetouch operations like a click and a slide and a method of changing theway of movement of the operational object by the kind of the touchoperations, but never discloses execution of the processing according tothe command element array corresponding to the touch operation.

SUMMARY OF THE INVENTION

Therefore, it is a primary object of the present invention to provide anovel information processing program and an information processingapparatus.

Another object of the present invention is to provide an informationprocessing program and an information processing apparatus capable of,when an operation of successively designating the plurality of commandelements making up of a command is performed, changing the designationorder among the plurality of command elements.

The other object of the present invention is to provide an informationprocessing program and an information processing apparatus capable ofarbitrarily selecting any one of two kinds of touch operations as anoperation.

The present invention employs following features in order to solve theabove-described problems. It should be noted that reference numeralsinside the parentheses and the supplementary explanations show oneexample of a corresponding relationship with the embodiments describedlater for easy understanding of the present invention, and do not limitthe present invention.

An information processing program according to a first invention causesa computer of an information processing apparatus for processinginformation according to a command to execute: an accepting step forrepeatedly accepting an operation to designate at least one of aplurality of command elements making up of the command; a memory writingstep for executing at least any one of a first memory writing processingto write a first command element having a specific attitude out of thecommand elements corresponding to the operation accepted by theaccepting step in a first memory and a second memory writing processingto write a second command element having an attitude different from thespecific attitude out of the command elements corresponding to theoperation accepted by the accepting step in a second memory; a firstdetermining step for determining whether or not a command element arraystored over the first memory and the second memory satisfies anexecution allowable condition every time that the writing processing bythe memory writing step is executed; and an information processing stepfor, when the first determining step determines that the command elementarray stored over the first memory and the second memory satisfies theexecution allowable condition, processing information according to thecommand element array.

In the first invention, a computer (34) of an information processingapparatus (10) executes an accepting step (S7, S9, S13, S15, S12 b, S12c), a memory writing step (S23-551, S34 a-S34 d, S46 a-S46 d), a firstdetermining step (S53) and an information processing step (S55).

A command for causing a computer to execute information processing ismade up out of a plurality of command elements (F1-F4, A1, A2, . . . ).A user performs an operation for successively designating a plurality ofcommand elements making up of a command, and at least one out of theplurality of command elements is designated by a single operation.Accordingly, a command being made up of two command elements require oneor two operations, and a command being made up of three command elementsrequires one-three operations, for example.

An accepting step (S7, S9, S13, S15, S12 b, S12 c) repeatedly accepts anoperation to designate at least one out of the plurality of commandelements (F1-F4, A1, A2, . . . ) making up of the command. A memorywriting step (S23-S51, S34 a-S34 d, S46 a-S46 d) executes at least anyone of a first memory writing processing to write a first commandelement (A1, A2, . . . ) having a specific attitude out of the commandelements corresponding to the operation accepted by the accepting stepin a first memory (72 a) and a second memory writing processing to writea second command element (F1-F4) having an attitude different from thespecific attitude out of the command elements corresponding to theoperation accepted by the accepting step in a second memory (72 b-72 d).

A first determining step (S53) determines whether or not a commandelement array stored over the first memory and the second memorysatisfies an execution allowable condition every time that any one ofthe writing processing is executed, and an information processing step(S55), when the first determining step determines that the commandelement array stored over the first memory and the second memorysatisfies the execution allowable condition, processes informationaccording to the command element array.

Additionally, when it is determined that the command element arraystored over the first memory and second memory does not satisfy theexecution allowable condition, the information processing is notexecuted, and until it is determined that it satisfies the executionallowable condition, a further operation is accepted by the acceptingstep.

According to the first invention, for every operation, out of thecorresponding command elements, a first command element is written tothe first memory, and a second command element is written to the secondmemory, so that the user can change, when performing an operation, adesignation order among first command elements and the second commandelements.

An information processing program according to a second invention isdependent on the first invention, and the operation includes a firstoperation for designating a single command element with a point, and asecond operation for designating a plurality of command elements with aline.

In the second invention, the operation includes a first operation and asecond operation. The first operation designates a single commandelement with a point, and the second operation designates a plurality ofcommand elements with a line.

According to the second invention, the user can arbitrarily select anyone of the first operation and the second operation as an operation.Furthermore, by enhancing the frequency of selection of the secondoperation, it is possible to decrease the number of operations.

An information processing program according to a third invention isdependent on the second invention, and the plurality of command elementsmaking up of the command are displayed on a display, the first operationis a click-touch operation including a touch-on operation to anarbitrary point within a touch panel provided on the display and atouch-off operation from the point, and the second operation is asliding touch operation including a touch-on operation to an arbitraryfirst point within the touch panel, a sliding operation from the firstpoint to an arbitrary second point within the touch panel, and atouch-off operation from the second point.

In the third invention, a plurality of command elements making up of thecommand are displayed on a display (14), the first operation is aclick-touch operation, and the second operation is a sliding touchoperation. The click-touch operation includes a touch-on operation to anarbitrary point (P0) within a touch panel (24) provided on the displayand a touch-off operation from the point. The sliding touch operationincludes a touch-on operation to the arbitrary first point (P0) withinthe touch panel, a sliding operation from the first point to anarbitrary second point (P1) within the touch panel, and a touch-offoperation from the second point.

An information processing program according to a fourth invention isdependent on the third invention, and causes the computer to furtherexecute a buffer writing step. The buffer includes a first buffer and asecond buffer, and the buffer writing step writes a command elementcorresponding to the touch-on operation in the first buffer whilewriting a command element corresponding to the touch-off operation inthe second buffer. The memory writing step writes the command elementsstored in the first buffer and the second buffer in the first memory orthe second memory in response to the writing processing by the bufferwriting step.

In the fourth invention, the buffer writing step (S11, S17, S12 d)writes a command element corresponding to the touch-on operation in thefirst buffer (74 a) and writes a command element corresponding to thetouch-off operation in the second buffer (74 b). The memory writing stepwrites the command elements stored in the first buffer and the secondbuffer in the first memory or the second memory in response to thewriting processing by the buffer writing step.

An information processing program according to a fifth invention isdependent on the fourth invention, and causes a computer to furtherexecute: a second determining step for determining whether or not thecommand element stored in the first buffer and the command elementstored in the second buffer are coincident with each other after thewriting processing by the buffer writing step; and a resetting step forresetting the second buffer when the second determining step determinesthat the command element stored in the first buffer and the commandelement stored in the second buffer are coincident with each other.

In the fifth invention, after the writing processing by the bufferwriting step, a second determining step (S19) determines whether or notthe command element stored in the first buffer and the command elementstored in the second buffer are coincident with each other. A resettingstep (S21) resets the second buffer when the second determining stepdetermines that the command element stored in the first buffer and thecommand element stored in the second buffer are coincident with eachother.

According to the fifth invention, in a case that a command element beingin common to the first buffer and the second buffer is stored, thesecond buffer is reset, so that a sliding touch operation with respectto the common command element is regarded as a click-touch operation.Thus, it is easy to use both of the click-touch operation and thesliding touch operation.

An information processing program according to a sixth invention isdependent on the fourth or the fifth invention, and the buffer furtherincludes a third buffer, and the buffer writing step further writes oneor a plurality of command elements corresponding to the slidingoperation in the third buffer.

In the sixth invention, one or a plurality of command elementscorresponding to a sliding operation is written to the third buffer (74c, 74 d, . . . ).

According to the sixth invention, it is possible to designate three ormore command elements with a single sliding touch operation.

An information processing program according to a seventh invention isdependent on any one of the first to sixth inventions, and the firstcommand element is a command element having a function of a verb in anatural language, and the second command element is a command elementhaving a function of any one of a subject and an object in associationwith the verb.

An information processing program according to an eighth invention isdependent on the seventh invention, and the natural language includes afirst natural language forming a sentence indicating the command in anorder of a subject, an object and a verb, and a second natural languageforming the sentence indicating the command in an order of a subject, averb and an object, and the operation designates a plurality of commandelements making up of the command according to a syntax of the naturallanguage arbitrarily selected out of the first natural language and thesecond natural language.

According to the seventh and the eighth invention, by complying with thesyntax of the natural language, it is possible to enhance operability.

An information processing program according to a ninth invention isdependent on any one of the first to the eighth inventions, and thedetermination processing by the first determining step is based on adatabase describing one or a plurality of executable command elementarrays.

According to the ninth invention, by referring to a database (76 c), itis possible to perform a determination easily and accurately.Furthermore, since possible combinations between the first commandelements and the second command elements are only necessary to beregistered (that is, possible orders are not required to be carried onthe database), the information amount of the database can be reduced.

An information processing apparatus (10) according to a tenth inventionis an information processing apparatus for processing informationaccording to a command, and comprises: an accepting means (S7, S9, S13,S15, S12 b, S12 c) for repeatedly accepting an operation to designate atleast one of a plurality of command elements (F1-F4, A1, A2, . . . )making up of the command; a memory writing means (S23-S51, S34 a-S34 d,S46 a-S46 d) for executing at least any one of a first memory writingprocessing to write a first command element (A1, A2, . . . ) having aspecific attitude out of the command elements corresponding to theoperation accepted by the accepting means in a first memory (72 a) and asecond memory writing processing to write a second command element(F1-F4) having an attitude different from the specific attitude out ofthe command elements corresponding to the operation accepted by theaccepting means in a second memory (72 b-72 d); a determining means(S53) for determining whether or not a command element array stored overthe first memory and the second memory satisfies an execution allowablecondition every time that the writing processing by the memory writingmeans is executed; and a information processing means (S55) for, whenthe determining means determines that the command element array storedover the first memory and the second memory satisfies the executionallowable condition, processing information according to the commandelement array.

In the tenth invention, similar to the first invention, it is possibleto change a designation order among the first command elements and thesecond command elements.

According to the present invention, when an operation of successivelydesignating a plurality of command elements making up of a command isexecuted, it is possible to change a designation order between the firstcommand elements and the second command elements having differentattributes with each other out of the plurality of command elements.Furthermore, it is possible to arbitrarily select two kinds of touchoperations of a click and a slide as a touch operation, resulting inenhancement of operability.

The above described objects and other objects, features, aspects andadvantages of the present invention will become more apparent from thefollowing detailed description of the present invention when taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustrative view showing one embodiment of the invention;

FIG. 2 is a block diagram showing an electric configuration of FIG. 1embodiment;

FIG. 3 is an illustrative view showing a memory map of a RAM applied toFIG. 1 embodiment;

FIG. 4 is an illustrative view showing a Data array DB applied to FIG. 1embodiment;

FIG. 5 is an illustrative view showing a judgment standard DB applied toFIG. 1 embodiment;

FIG. 6 is an illustrative view showing a configuration of an operationscreen applied to FIG. 1 embodiment;

FIG. 7 is an illustrative view showing a concrete example of theoperation screen;

FIG. 8(A) and FIG. 8(B) are illustrative views showing one example of atouch operation with respect to the screen in FIG. 7 in a chronologicalorder;

FIG. 9(A)-FIG. 9(C) are illustrative views showing another example of atouch operation with respect to the screen in FIG. 7 in a chronologicalorder;

FIG. 10 is a flowchart showing a part of an operation of a CPU appliedto FIG. 1 embodiment;

FIG. 11 is a flowchart showing another part of the operation of the CPUapplied to FIG. 1 embodiment;

FIG. 12 is a flowchart showing a still another operation of the CPUapplied to FIG. 1 embodiment;

FIG. 13 is a flowchart showing a further operation of the CPU applied toFIG. 1 embodiment;

FIG. 14 is an illustrative view showing a memory map of a RAM applied toa modified example of FIG. 1 embodiment;

FIG. 15 is a flowchart showing a part of an operation of the CPU appliedto the modified example in FIG. 14;

FIG. 16 is a flowchart showing another part of the operation of the CPUapplied to the modified example in FIG. 14;

FIG. 17 is a flowchart showing a still another part of the operation ofthe CPU applied to the modified example in FIG. 14;

FIG. 18 is a flowchart showing a further part of the operation of theCPU applied to the modified example in FIG. 14; and

FIG. 19 is a flowchart showing a still further part of the operation ofthe CPU applied to the modified example in FIG. 14.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, a game apparatus 10 according to this embodimentincludes a first liquid crystal display (LCD) 12 and a second LCD 14.The LCD 12 and the LCD 14 are set on a housing 16 so as to be arrangedin predetermined positions. In this embodiment, the housing 16 comprisesan upper housing 16 a and a lower housing 16 b, and the LCD 12 isprovided on the upper housing 16 a while the LCD 14 is provided on thelower housing 16 b. Accordingly, the LCD 12 and the LCD 14 are closelyarranged so as to be longitudinally (vertically) parallel with eachother.

In addition, although an LCD is utilized as a display in thisembodiment, an EL (Electronic Luminescence) display, a plasmaticdisplay, etc. may be used in place of the LCD.

As can be understood from FIG. 1, the upper housing 16 a has a planeshape little larger than a plane shape of the LCD 12, and has an openingformed so as to expose a display surface of the LCD 12 from one mainsurface thereof. On the other hand, the lower housing 16 b has a shapeand a size approximately the same as the upper housing 16 a, and has anopening formed so as to expose a display surface of the LCD 14 at anapproximately center of the horizontal direction. Also, a power switch18 is provided at the right side surface of the lower housing 16 b.

Furthermore, the upper housing 16 a is provided with sound release holes20 a and 20 b for speakers 36 a and 36 b (see FIG. 2) on both sides ofthe LCD 12.

The upper housing 16 a and the lower housing 16 b are rotatablyconnected at a lower side (lower edge) of the upper housing 16 a and apart of an upper side (upper edge) of the lower housing 16 b.Accordingly, in a case of not playing a game, for example, if the upperhousing 16 a is rotatably folded such that the display surface of theLCD 12 and the display surface of the LCD 14 are face to face with eachother, it is possible to prevent the display surface of the LCD 12 andthe display surface of the LCD 14 from being damaged such as a flaw,etc. It should be noted that the upper housing 16 a and the lowerhousing 16 b are not necessarily rotatably connected with each other,and may alternatively be provided integrally (fixedly) to form thehousing 16.

Then, a microphone hole 20 c for a microphone (not illustrated) isformed at the center of the connected portion between the upper housing16 a and the lower housing 16 b. This makes it possible to perform gameprocessing on the basis of a sound signal by a sound, a voice or abreath taken from the microphone.

Furthermore, the lower housing 16 b is provided with an operating switch22 (22 a, 22 b, 22 c, 22 d, 22 e, 22 f, 22 g, 22L and 22R).

The operating switch 22 includes a direction instructing switch (crossswitch) 22 a, a start switch 22 b, a select switch 22 c, an actionswitch (A button) 22 d, an action switch (B button) 22 e, an actionswitch (X button) 22 f, an action switch (Y button) 22 g, an actionswitch (L button) 22L, and an action switch (R button) 22R. The switch22 a is arranged at the left of the LCD 14 on one surface of the lowerhousing 16 b. Other switches 22 b-22 g are arranged at the right of theLCD 14 on the one surface of the lower housing 16 b. In addition, theoperating switches 22L and 22R are arranged at the right and leftcorners on the upper side surface of the lower housing 16 b. It shouldbe noted that the action switches 22L and 22R are provided on a backsurface of the lower housing 16 b, and shown by dotted line because theyare hidden under the connected portion in a front view shown in FIG. 1.

The direction instructing switch 22 a functions as a digital joystick,and is utilized for instructing a traveling direction (moving direction)of a player object (or player character) to be operated by a user or aplayer and instructing a traveling direction of a cursor, and so forthby operating any one of four depression portions. Also, a specific rolecan be assigned to each of the four depression portions, and byoperating any one of the four depression portions, it is possible toinstruct (designate) the assigned role.

The start switch 22 b is formed by a push button, and is utilized forstarting (restarting), temporarily stopping (pausing) a game, and soforth. The select switch 22 c is formed by the push button, and utilizedfor a game mode selection, etc.

The action switch 22 d, that is, the A button is formed by the pushbutton, and allows the player object to perform an arbitrary action,except for instructing the direction, such as hitting (punching),throwing, holding (obtaining), riding, jumping, etc. For example, in anaction game, it is possible to apply an instruction of jumping,punching, moving arms, etc. In a role-playing game (RPG) and asimulation RPG, it is possible to apply an instruction of obtaining anitem, selecting and determining arms or command, etc. The action switch22 e, that is, the B button is formed by the push button, and isutilized for changing a game mode selected by the select switch 22 c,canceling an action determined by the A button 22 d, and so forth.

The action switch 22 f, that is, the X button and the action switch 22g, that is, the Y button are formed by the push buttons, and areutilized for a subsidiary operation when the game cannot be advancedonly with the A button 22 d and the B button 22 e. It should be notedthat the X button 22 f and the Y button 22 g can be used for the similaroperation to the A button 22 d and B button 22 e. Of course, the Xbutton 22 f and the Y button 22 g are not necessarily utilized in thegame play.

The action switch (left depression button) 22L and the action switch(right depression button) 22R are formed by the push buttons, and theleft depression button (L button) 22L and the right depression button (Rbutton) 22R can perform the same operation as the A button 22 d and theB button 22 e, and also function as a subsidiary of the A button 22 dand the B button 22 e. In addition, the L button 22L and the R button22R can change the roles assigned to the direction switch 22 a, the Abutton 22 d, the B button 22 e, the X button 22 f, and the Y button 22 gto other roles.

Also, on a top surface of the LCD 14, a touch panel 24 is provided. Asthe touch panel 24, any kinds of a resistance film system, an opticalsystem (infrared rays system) and an electrostatic capacitive couplingsystem, for example, can be utilized. In response to an operation (touchinput) by depressing, stroking, touching, and so forth with a stick 26,a pen (stylus pen), or a finger (hereinafter, referred to as “stick 26,etc.”) on a top surface of the touch panel 24, the touch panel 24detects coordinates of an operated position by the stick 26, etc. tooutput coordinates data corresponding to the detected coordinates.

It should be noted that in this embodiment, a resolution of the displaysurface of the LCD 14 (the same is true for the LCD 12) is 256 dots×192dots. A detection accuracy of the touch panel 24 is also rendered 256dots×192 dots in correspondence to the resolution of the displaysurface. However, the detection accuracy of the touch panel 24 may belower than the resolution of the display surface, or higher than it.

Different game screens may be displayed on the LCD 12 and the LCD 14.For example, in a racing game, a screen viewed from a driving seat isdisplayed on the one LCD, and a screen of entire race (course) may bedisplayed on the other LCD. Furthermore, in the RPG, a map, characterssuch as, a player object, etc. are displayed on the one LCD, and itemsbelonging to the player object may be displayed on the other LCD.Additionally, a game screen including a player object and a non-playerobject, etc. may be displayed on the one LCD, and a game screenincluding information relating to the player object and the non-playerobject or an operation screen for operating the player object can bedisplayed on the other LCD. Furthermore, by utilizing the two LCD 12 andLCD 14 as one screen, it is possible to display a large monster (enemyobject) to be defeated by the player object.

Accordingly, the player is able to point (operate) an image such as aplayer object, an enemy object, an item object, an operating object,etc. to be displayed on the screen of the LCD 14 and select (input)commands by operating the touch panel 24 with the use of the stick 26,etc. Also, it is possible to change the direction of a virtual camera(viewpoint) (direction of the line of sight) provided in the virtualgame space (three-dimensional game space), and instruct a scrolling(gradual moving display) direction of the game screen (map).

Additionally, depending on the kind of the game, other inputinstructions can be made with the use of the touch panel 24. Forexample, it is possible to input by hand texts, numbers, symbols, etc.on the LCD 14.

Thus, the game apparatus 10 has the LCD 12 and the LCD 14 as a displayportion of two screens, and by providing the touch panel 24 on an uppersurface of any one of them (LCD 14 in this embodiment), the gameapparatus 10 has the two screens (12, 14) and the operating portions(22, 24) of two systems.

Although the first LCD 12 and the second LCD 14 are vertically arrangedin this embodiment, the arrangement of the two LCDs may be changed asnecessary. In another embodiment, the first LCD 12 and the second LCD 14may horizontally be arranged.

Furthermore, in this embodiment, two LCDs are provided, but the numberof LCDs as a display means can be changed as necessary. In anotherembodiment, a vertically-long LCD is provided, and by verticallydividing the display areas into two, two game screens may be displayedon the respective display areas, or a horizontally-long LCD is provided,and by horizontally dividing the display area side by side, two gamescreens may be displayed on the respective display areas.

In addition, the stick 26 can be housed in the housing portion (notshown) provided on the lower housing 16 b, for example, and taken out asnecessary. It should be noted that if the stick 26 is not provided, thehousing portion also need not to be provided.

Also, the game apparatus 10 includes a memory card (or cartridge) 28.The memory card 28 is detachable, and inserted into a loading slot 30(shown by dotted lines in FIG. 1) provided on an upper edge surface ofthe lower housing 16 b. Although omitted in FIG. 1, a connector 32 (seeFIG. 2) is provided at a depth portion of the loading slot 30 forconnecting a connector provided at an end portion of the memory card 28in the loading direction, and when the memory card 28 is loaded into theloading slot 30, the connectors are connected with each other, andtherefore, the memory card 28 is accessible by a CPU core 34 (see FIG.2) of the game apparatus 10.

It should be noted that although not illustrated in FIG. 1, the speakers36 a and 36 b (see FIG. 2) are provided at positions corresponding tothe sound release holes 20 a and 20 b inside the upper housing 16 a.

Furthermore although omitted in FIG. 1, a battery accommodating box isprovided on a rear surface of the lower housing 16 b, a volume switch,an earphone jack, etc. are provided on the lower edge surface (bottomsurface) of the lower housing 16 b, and an external expansion connectoris provided on the upper edge surface (top surface), for example.

An electric configuration of the game apparatus 10 is shown in FIG. 2.Referring to FIG. 2, the game apparatus 10 includes an electroniccircuit board 38, and on the electronic circuit board 38, a circuitcomponent such as a CPU core 34, etc. is mounted. The CPU core 34 isconnected to the above-described connectors 32 via a bus 40, and isconnected with a RAM 42, a first graphics processing unit (GPU) 44, asecond GPU 46, an input-output interface circuit (hereinafter, referredto as “I/F circuit”) 48, an LCD controller 50, and a wirelesscommunication portion 58.

The connector 32 is detachably connected with the memory card 28 asdescribed above. The memory card 28 includes a ROM 28 a and a RAM 28 b,and although illustration is omitted, the ROM 28 a and the RAM 28 b areconnected with each other via a bus and also connected with a connector(not shown) to be connected with the connector 32. Accordingly, the CPUcore 34 gains access to the ROM 28 a and the RAM 28 b as describedabove.

The ROM 28 a stores in advance a game program for a game to be executedby the game apparatus 10, image data (text and object image, backgroundimage, item image, icon (button) image, message image, etc.), data ofthe sound (music) necessary for the game (sound data), etc. The RAM(backup RAM) 28 b stores (saves) proceeding data of the game, resultdata of the game, etc. As a save memory, a flash memory or the like maybe utilized.

The RAM 42 is utilized as a buffer memory or a working memory. That is,the CPU core 34 loads the program, the image data, the sound data, etc.stored in the ROM 28 a of the memory card 28 into the RAM 42, andexecutes processing according to the loaded program. Furthermore, theCPU core 34 executes a game process while storing data (game data, flagdata, etc.) generated or obtained in correspondence with a progress ofthe game in the RAM 42.

Additionally, the game program, the image data, the sound data, etc. areread from the ROM 28 a entirely at a time, or partially and sequentiallyso as to be stored into the RAM 42.

It should be noted that in the game apparatus 10, other applicationsexcept for the game may be executed, and in this case, a program inrelation to an application and the necessary data such as image data,etc. may be stored in the ROM 28 a of the memory card 28. Furthermore,sound (music) data may be stored as necessary.

Each of the GPU 44 and the GPU 46 forms a part of a rendering means, isconstructed by, for example, a single chip ASIC, and receives a graphicscommand (drawing instruction) from the CPU core 34 to generate imagedata according to the graphics command. It should be noted that the CPUcore 34 applies an image generation program (included in the gameprogram) required to generate the image data to both of the GPU 44 andGPU 46 in addition to the graphics command.

Furthermore, the GPU 44 is connected with a first video RAM (hereinafterreferred to as “VRAM”) 52, and the GPU 46 is connected with a secondVRAM 54. The GPU 44 and the GPU 46 respectively access the first VRAM 52and the second VRAM 54 to obtain necessary data (image data: polygondata, texture data, etc.) to execute a graphics command.

In addition, the CPU core 34 writes image data necessary for drawing tothe first VRAM 52 and the second VRAM 54 via the GPU 44 and the GPU 46.The GPU 44 accesses the VRAM 52 to produce image data necessary fordrawing, and the GPU 46 accesses the VRAM 54 to produce image data fordrawing.

The VRAM 52 and the VRAM 54 are connected to the LCD controller 50. TheLCD controller 50 includes a register 56, and the register 56 consistsof one bit, for example, and stores a value of “0” or “1” (data value)according to an instruction of the CPU core 34. The LCD controller 50outputs the image data produced by the GPU 44 to the LCD 12, and outputsthe image data produced by the GPU 46 to the LCD 14 in a case that thedata value of the register 56 is “0”. Additionally, the LCD controller50 outputs the image data produced by the GPU 44 to the LCD 14, andoutputs the image data produced by the GPU 46 to the LCD 12 in a casethat the data value of the register 56 is “1”.

Furthermore, the LCD controller 50 can directly read the image data fromthe VRAM 52 and the VRAM 54, or read the image data from the VRAM 52 andthe VRAM 54 via the GPU 44 and the GPU 46.

The I/F circuit 48 is connected with the operating switch 22, the touchpanel 24 and the speakers 36 a, 36 b. Here, the operating switch 22 isthe above-described switches 22 a, 22 b, 22 c, 22 d, 22 e, 22 f, 22 g,22L and 22R, and in response to an operation of the operating switch 22,a corresponding operation signal (operation data) is input to the CPUcore 34 via the I/F circuit 48. Furthermore, coordinates data outputfrom the touch panel 24 is input to the CPU core 34 via the I/F circuit48. In addition, the CPU core 34 reads from the RAM 42 the sound datanecessary for the game such as a game music (BGM), a sound effect orvoices of a game character (onomatopoeic sound), etc., and outputs itfrom the speakers 36 a, 36 b via the I/F circuit 48.

The wireless communication portion 58 is a communication means fortransmitting and receiving data with another game apparatus (10) orcommunications equipment by radio. Here, the weak radio wave transmittedand received by the game apparatus 10 shown in this embodiment is set inintensity to such a degree as not to be restricted by the Radio Law.When the CPU core 34 applies data such as game data, a command, etc. tothe wireless communication portion 58, the wireless communicationportion 58 modulates data to be transmitted to the opponent into awireless signal and transmits it from an antenna. Furthermore, thewireless communication portion 58 receives a wireless signal from theopponent by the antenna to demodulate it to data, and applies the datato the CPU core 34. Via the wireless communication portion 58, the gameapparatus 10 receives and transmits data with another game apparatus(10) to execute a communication game. Additionally, the game apparatus10 can connect to a network via the wireless communication portion 58 tothereby download a program and data from a server on the network andcommunicate with another game apparatus (10) via the network.

FIG. 3 shows a memory map of the RAM 42 when a certain kind of game isplayed in the game apparatus 10 constructed as described above.Referring to FIG. 3, the RAM 42 is formed with a program area 70, a Dataarray area 72, a buffer area 74 and a database area 76.

The program area 70 includes a main program area 70 a for storing a mainprogram, a display controlling program area 70 b for storing a displaycontrolling program and a touch detecting program area 70 c for storinga touch detecting program. The Data array area 72 includes a Data (0)area 72 a for storing Data (0), a Data (1) area 72 b for storing Data(1), a Data (2) area 72 c for storing Data (2), and a Data (3) area 72 dfor storing Data (3).

The buffer area 74 includes a BufTrigger area 74 a for storing aBufTrigger, and a BufRelease area 74 b for storing a BufRelease. Thedatabase area 76 includes a field DB area 76 a for storing a fielddatabase (DB), an action DB area 76 b for storing an action DB, a Dataarray DB area 76 c for storing a Data array DB, and a judgment standardarea 76 d for storing a judgment standard DB.

The touch detecting program detects a touch operation (see FIG. 8(A),FIG. 8(B), for example) to the screen of the LCD 14 via the touch panel24, and repetitively calculates touched coordinates indicative ofcoordinates of a touched point at a current time. The displaycontrolling program displays fields F1-F4 and actions A1, A2, . . . onthe basis of the field DB and the action DB on the screen of the LCD 14(see FIG. 6). A character is added to each of the fields F1-F4 asnecessary.

FIG. 7 shows a concrete example of the screen in FIG. 6. With referenceto FIG. 7 in comparison with FIG. 6, as to the screen, the field F1 is afield to which a character A is assigned, the field F2 is a field towhich a character B is assigned, the field F3 is a field to which acharacter C is assigned, and the field F4 is an available field to whichno character is assigned. Furthermore, the action A1 is to “attack”, theaction A2 is to “move”, the action A3 is to “power-up”, and the actionA4 is to “change places”.

Returning to FIG. 3, the main program specifies a field and an actiondesignated by the user out of the fields and actions displayed on theLCD 14 by the display controlling program on the basis of the touchcoordinates calculated by the touch detecting program, and executesprocessing relevant to the field and action.

More specifically, in a case that on the screen of FIG. 7, the filed F1assigned with character A is first designated, the filed F3 assignedwith character C is next designated, and the action A1, that is,“attack” is designated, attack processing to the character C by thecharacter A is executed. Here, if the designation order of the fields F1and F3 is reverse, attack processing to the character A by the characterC is executed. That is, which field is a subject of the action and whichfield is an object of the action are dependent on the order ofdesignating the fields.

Furthermore, when the filed F1 assigned with character A is firstdesignated, the available field F4 is designated, and the action A2,that is, “move” is designated, movement processing of the character Afrom the field F1 to the field F4 is executed. If the designation orderof the fields F1 and F4 is reverse, there is no character to be moved,so that the movement processing is not executed. Even if the action A1is designated in place of the action A2, it is determined that an attackto the available field is inappropriate, so that attack processing isnot executed. Thus, execution of the processing relevant to thedesignated field and action is only when the relationship between thefield and the action is appropriate.

Returning to FIG. 3, each of the Data (0)-Data (3) is a variableutilized in the main program, setting any one of the fields or theactions as required. The BufTrigger and the BufRelease are alsovariables to be utilized in the main program, setting any one of thefields or the actions as required.

In the field DB, coordinates and a character are registered for eachfield. It should be noted that there is a field to which no character isassigned. In the action DB, an action is registered for each character.

In the Data array DB, an appropriate alignment of the Data (0)-Data (3)is registered for each action. In the judgment standard DB, a referenceis registered for determining whether or not the Data array at thecurrent time is appropriate (∘) or inappropriate (×), or neither of them(Δ) on the basis of the Data array DB.

FIG. 4 shows one example of the Data array DB. Referring to FIG. 4, theData array DB includes following four kinds of Data arrays. The firstone is a Data array in which the Data (0) is to “attack”, each of theData (1) and Data (2) is a character-present filed and the Data (3) isunused. The second one is a data array in which the Data (0) is to“move”, the Data (1) is a character-present-field, the Data (2) is acharacter-absent field, and the Data (3) is unused. The third one is adata array in which the Data (0) is to “power-up”, the Data (1) is acharacter-present field, and each of the Data (2) and Data (3) isunused. The fourth one is a data array in which the Data (0) is to“change places”, and each of the Data (1) to Data (3) is acharacter-present-field.

FIG. 5 shows one example of the judgment standard DB. Referring to FIG.5, according to the judgment standard DB, it is determined whether ornot any action is set in relation to the Data (0), first. If it isdetermined “there is an action” here, with respect to each of the Data(1), Data (2), . . . , the number of field-present-Data, andappropriateness of each field to an action are studied to make aclassification into three cases.

The first case is a case where the number of field-present-Data reachesthe number of Data necessary for action, and each field is appropriateto the action, and is determined to be an appropriate (∘). The secondcase is a case where any one of the fields is inappropriate to anaction, and is determined to be inappropriate (×). Then, the third caseis a case where the number of field-present-Data does not satisfy thenecessary number of Data, and is determined to be neither of appropriatenor inappropriate (Δ).

On the other hand, when “no action” is determined, it is determined tobe neither of appropriate nor inappropriate (Δ).

It should be noted that, in a case that “no action” is determined, thenumber of field-present-Data may be determined to make classificationinto two cases. The first case is a case where the number offield-present-Data is equal to or more than “2”, and is determined to beinappropriate (×). The second case is a case where the number offield-present-Data is equal to or less than “1”, and is determined to beneither of appropriate nor inappropriate (Δ).

By the way, as described before, when the fields and the action aredesignated, the user has to designate these elements in a proper order,but the proper order is not necessary one. For example, in the screen inFIG. 7, an instruction for making an attack on the character C by thecharacter A can be made in the following two orders.

A first order is an order according to a Japanese syntax as shown inFIG. 8(A) and FIG. 8(B), and the user first touches “A” being a subject,then touches “C” being an object, and last touches “attack” being a verb(S+O+V).

Specifically, the first touch for designating the subject and the secondtouch for designating the object are performed by a single touchoperation. The touch operation is made up of three elements like a touchon to the subject, a slide from the subject to the object, and a touchoff from the object. Such a touch operation is called a “sliding touchoperation”.

On the other hand, the third touch for designating the verb is anothersingle touch operation, and is made up of two elements including a touchon to the verb and a touch off from the verb. Such a touch operation iscalled as a “click-touch operation”. Thus, in a case that execution of“attack” on “C” by “A” is instructed in the first order (that is,according to the Japanese grammar), one sliding touch operation and oneclick-touch operation are required (the series of operations isdescribed as “F1-F3/A1”).

On the contrary thereto, the second order is an order according to theEnglish syntax as shown in FIG. 9(A)-FIG. 9(C). That is, the user firsttouches “A” being a subject, next touches “attack” being a verb, andlast touches “C” being an object (S+V+O). Accordingly, in a case that anexecution of making an attack from “A” to “C” is instructed in thesecond order (that is, according to the English grammar), threeclick-touch operations are required (the series of operations isdescribed as a “F1/A1/F3”).

The above description is summarized as follows: if an instruction by theuser is equal to any one of “F1-F3/A1” and “F1/A1/F3”, the gameapparatus 10 executes attack processing from “A” to “C”. Similarly, ifan instruction by the user is equal to any one of “F1-F4/A2” and“F1/A2/F4”, the game apparatus 10 executes movement processing of “A” toan available field. If an instruction by the user is equal to “F2/A3”,the game apparatus 10 executes power-up processing of “B”. If aninstruction by the user is equal to any one of “F3-F1/A4/F2”,“F3-F2/A4/F1”, “F3/A4/F1/F2”, “F3/A4/F2/F1”, “F3/A4/F1-F2”, and“F3/A4/F2-F1”, the game apparatus 10 executes interchange processingbetween “A” and “B” by “C”.

Thus, the user can make the game apparatus 10 perform desired processingby appropriately designating one or the plurality of fields (Data (1),Data (2), . . . ) and one action (Data (0)). When the designation ismade, both of the first order according to the Japanese syntax (S+O+V)and the second order according to the English syntax (S+V+O) arepossible as an order among the Data (0) corresponding to the verb (V),the Data (1) corresponding to the subject (S), and the Data (2)corresponding to the object (O).

Furthermore, if the first order (Japanese grammar) is selected, thesubject and the object can be designated by a single sliding touchoperation (S-O).

It should be noted that the actions A1-A4 are different for eachcharacter, and when no character is designated, non display isdetermined, and when any character is designated at the first touch inorder to designate the subject, an action corresponding to thedesignated character is displayed.

When the game is played, the CPU core 34 executes processing shown inFIG. 10-FIG. 13. It should be noted that the flowchart corresponds tothe main program (70 a: see FIG. 3) stored in the program area 70 of theRAM 42.

Referring to FIG. 10, in a first step S1, a Data array, that is,Data(0)-Data(3) (72 a-72 d: see FIG. 3) stored in the Data array area 72is initialized. In a next step S3, “1” is set to a variable n indicatingData being noted. In a succeeding step S5, “NO_USE” as initial valuesare set to a variable BufTrigger and a variable BufRelease (74 a and 74b: see FIG. 3) respectively indicating touch-on coordinates andtouch-off coordinates. After completion of a series of the initialsettings, the process shifts to a step S7 to wait for a start of a touchoperation (touch on).

When a touch on is detected by the touch panel 24, the process shiftsfrom the step S7 to a step S9 to determine whether or not the touched-onposition corresponds to any one of the fields or the actions (F1-F3, A1,A2, . . . : see FIG. 6) displayed on the LCD 14, and if thedetermination result is “NO”, the process returns to the step S7.

If the determination result in the step S9 is “YES”, the process shiftsto a step S11 to set a corresponding field or a corresponding action inthe variable Buftrigger. Then, the process shifts to a step S13 to waitfor an end of a touch operation (touch off).

When a touch off is detected via the touch panel 24, the process shiftsfrom the step S13 to a step S15 to determine whether or not atouched-off position corresponds to any one of the fields or the actionsdisplayed on the LCD 14, and if the determination result is “NO”, theprocess returns to the step S5.

If the determination result in the step S15 is “YES”, the process shiftsto a step S17 to set a corresponding field or a corresponding action inthe variable BufRelease. After the setting, the process shifts to a stepS19.

Referring to FIG. 11, in the step S19, it is determined whether or notthe variable BufTrigger is coincident with the variable BufRelease. Ifthe difference between both of the variables is above a threshold value,“NO” is determined in the step S19, and the process proceeds to a stepS23. If the difference between both of the variables is not above thethreshold value, “YES” is determined in the step S19, the variableBufRelease is reset in a step S21, and then, the process proceeds to thestep S23.

Accordingly, a sliding touch operation performed in a single areacorresponding to any one of the fields and the actions is regarded as aclick-touch operation.

In the step S23, it is determined whether or not the variable BufTriggerbelongs to “action” (that is, whether or not any action is set), and ifthe determination result is “NO”, the process proceeds to a step S29. Ifthe determination result in the step S23 is “YES”, the variableBufTrigger is set to the Data (0) in a step S25, the variable BufTriggeris reset in a step S27, and the process proceeds to the step S29.

In the step S29, it is determined whether or not the variable BufReleasebelongs to “action”, and if the determination result is “NO”, theprocess proceeds to a step S35. If the determination result in the stepS29 is “YES”, the variable BufRelease is set to the Data (0) in a stepS31, the variable BufRelease is reset in a step S33, and then, theprocess proceeds to the step S35.

Thus, if the user designates two or more actions by a single slidingtouch operation, the action designated last is adopted.

Referring to FIG. 12, it is determined whether or not the Data (0) is“NO_USE” in the step S35, and if the determination result is “NO”, theprocess proceeds to a step S41. If the determination result in the stepS35 is “YES”, the Data array is reset in a step S37, “1” is set to thevariable n again in a step S39, and then, the process shifts to the stepS41. By executing the processing in the step S37, when an action (verb)is not designated by a touch operation (no action is registered in theData (0)), a field designated (registered in Data (n)) by a previoustouch operation is invalidated. Thus, if an instruction is made in anorder according to the Japanese syntax, after a character (field) beinga subject and a character (field) being an object by a first touchoperation are designated, an action being a verb has to be designated bya second touch operation, and therefore, a sliding touch operation isrequired at the first touch operation. On the other hand, if aninstruction is made in an order according to the English syntax, acharacter being a subject is designated by the first touch operation,then, an action being a verb is designated by a second touch operation,and finally, a character being an object is designated by a third touchoperation. Thus, each of the touch operation can be performed by aclick-touch operation. In this manner, designations according to twodifferent kinds of input orders can be realized in two different kindsof touch operations.

In the step S41, it is determined whether or not the variable BufTriggeris “NO_USE”, and if the determination result is “NO”, the processproceeds to a step S47. If the determination result in the step S41 is“YES”, the variable BufTrigger is set to the Data (n) in a step S43, thevariable n is incremented in a step S45, and then the process proceedsto the step S47.

Referring to FIG. 13, in the step S47, it is determined whether or notthe variable BufRelease is “NO_USE”, and if the determination result is“YES”, the process proceeds to a step S53. If the determination resultin the step S47 is “NO”, the variable BufRelease is set to the Data (n)in a step S49, the variable n is incremented again in a step S51, andthe process proceeds to the step S53.

Accordingly, if no action is set in the Data (0) after the touchoperation, the Data array is reset. Then, if any field is set in thevariable BufTrigger, the field is set to the Data (1), and if any fieldis set in the variable BufRelease, the field is set to the Data (2).

In the step S53, it is determined whether or not the Data array isappropriate (∘) on the basis of the Data array DB and the judgmentstandard DB (76 c and 76 d: see FIG. 14), and if the determinationresult is “YES”, the Data (0) is executed in a step S55, and then, theprocess is ended.

If the determination result in the step S53 is “NO”, it is furtherdetermined whether or not the Data array is inappropriate (×) in a stepS57, and if the determination result is “YES”, the process returns tothe step S1. If the determination result in the step S57 is “NO”, thatis, if the Data array is neither appropriate nor inappropriate (Δ), theprocess returns to the step S5.

According to the process in FIG. 10-FIG. 13, if A wants to make anattack on C, when the user inputs “F1-F3/A1” according to the Japanesesyntax, the Data array at a time when a first sliding touch operation“F1-F3” is completed (see FIG. 8(A)) goes as follows.

Data (0)=NO_USE, Data (1)=F1, Data (2)=F3

Then, at a time when a successive click-touch operation “A1” iscompleted (see FIG. 8(B)), the Data array goes as follows.

Data (0)=A1, Data (1)=F1, Data (2)=F3

On the other hand, when the user inputs “F1/A1/F3” according to theEnglish syntax, the Data array at a time when a first click-touchoperation “F1” is completed (see FIG. 9(A)) goes as follows.

Data (0)=NO_USE, Data (1)=F1, Data (2)=NO_USE

At a time when a successive click-touch operation “A1” is completed (seeFIG. 9(B)), the Data array goes as follows.

Data (0)=A1, Data (1)=F1, Data (2)=NO_USE

Then, at a time when a successive click-touch operation “F3” iscompleted (see FIG. 9(C)), the Data array goes as follows.

Data (0)=A1, Data (1)=F1, Data (2)=F3

Thus, according to both of the Japanese syntax and the English syntax,it is possible to obtain the Data array being complying with the Dataarray DB (76 c: see FIG. 3). The Data array thus obtained is determinedto be “appropriate (∘)” according to the judgment standard DB (76 d) inthe step S53, and consequently, the processing corresponding to the Dataarray, that is, the attack processing on C by A is executed in a stepS55.

As understood from the above description, in this embodiment, the CPUcore 34 repeatedly accepts a touch operation for designating at leastone out of the plurality of command elements (fields F1-F4 and actionsA1, A2, . . . : see FIG. 6) making up of a command (S7, S9, S13, S15)and writes the command element corresponding to the accepted touchoperation in the buffer area 74 (S11, S17).

Here, the touch operation includes a click-touch operation (firstoperation) for designating a single command element with a point, and asliding touch operation (second operation) for designating a pluralityof command elements with a line. A click-touch operation includes atouch-on operation to an arbitrary point P0 within the touch panel 24,and a touch-off operation from the point P0 (see FIG. 8(B), FIG.9(A)-FIG. 9(C)). A sliding touch operation includes a touch-on operationto an arbitrary first point P0 within the touch panel 24, a slidingoperation from the first point P0 to an arbitrary second point P1 withinthe touch panel 24, and a touch-off operation from the second point P1(see FIG. 8(A)).

Furthermore, the buffer area 74 includes a BufTrigger area 74 a and aBufRelease area 74 b. In the BufTrigger area 74 a, a command elementcorresponding to a touch-on operation is stored, and in the BufReleasearea 74 b, a command element corresponding to a touch-off operation isstored.

Additionally, in response to the buffer writing processing, at least anyone of the first memory writing processing for writing a first commandelement (action A1, A2, . . . ) out of the command elements stored inthe buffer area 74 having a specific attitude to the Data (0) area 72 a(first memory), and a second memory writing processing for writing asecond command element (field F1-F4) having an attribute different fromthe specific attitude out of the command elements stored in the bufferarea 74 in the Data (1) area 72 b-Data (3) area 72 d (second memory)(S23-S51).

Then, every time that any one of the memory writing processing isexecuted, it is determined whether or not the command element arraystored in the Data (0) area 72 a—the Data (3) area 72 d satisfies anexecution allowable condition (Data array DB: 76 c) (S53), and when itis determined that the command element array satisfies an executionallowable condition, processing according to the command element arrayis executed (S55).

According to this embodiment, for each touch operation, out of thecorresponding command elements, an action is written to the Data (0), afield is written to each of Data (1)-Data (3), and therefore, the usercan change a touching order between the action and the fields when atouch operation is performed. Furthermore, any one of the click-touchoperation and the sliding touch operation can arbitrarily be selected asa touch operation. Then, if a selection frequency of the sliding touchoperation is heightened, the number of operations is decreased.

It should be noted when it is determined that a field is designated inthe above-described step S9, it may only be determined whether or notany field is designated in the step S15. That is, when a field isdesignated at a start of a touch, a designation of only the field isvalidated and a designation of the action is not allowed at an end ofthe field. Thus, in a case of a sliding touch operation, only anoperation from the field to the field is validated, an operation fromthe field to action can be invalidated. That is, it is possible toprevent a designation of the input order according to the English syntaxfrom being performed by a sliding touch operation.

Furthermore, whether or not a click-touch operation is accuratelyperformed may be determined on the basis of an elapsed time from a startof the touch to an end of the touch. That is, on assumption that thesame filed or action is designated at a start of the touch and an endthereof by a slide touch operation, it is possible to prevent the slidetouch operation from being erroneously determined to be a click-touchoperation. In order to realize this, a step of “count processing” may beprovided after the step S7, and after “YES” in the step S19, a step ofdetermining “whether or not the count value is within a predeterminedvalue” may be provided. Then, if the count value is within apredetermined value, the process may proceed to the step S21, and if thecount value is not within a predetermined value, the process may returnto the step S5.

In this embodiment, although a sliding touch operation is valid withrespect to two command elements corresponding to a touch startingposition and a touch ending position, three or more command elements maybe designated by a single sliding touch operation. A modified examplethereof is explained below. The modified example is the same as theabove-described embodiment except for a part of the memory map and apart of the main program. Thus, FIG. 1, FIG. 2 and FIG. 4-FIG. 9 areutilized to assist the explanation below.

FIG. 14 shows a memory map of the RAM 42 applied to the modifiedexample. With reference to FIG. 14 in comparison with FIG. 3, the bufferarea 74 further includes a BufChange (1) area 74 c storing a BufChange(1), a BufChange (2) area 74 d storing a BufChange (2), . . . .

FIG. 15-FIG. 19 show a flowchart corresponding to a main program of themodified example. In FIG. 15-FIG. 19, the same reference numbers areassigned to the processing being in common to the main program (FIG.10-FIG. 13) in the previous embodiment.

The flowchart of FIG. 15-FIG. 19 is a flowchart obtained by adding stepsS12 a-S12 e between the steps S11 and S13, steps S34 a-S34 d between thesteps S33 and S35, and steps S46 a-S46 d between the steps S45 and S47in a flowchart in FIG. 10-FIG. 13.

In what follows, the processing of the CPU core 34 is described byconcentrating on the difference with the previous embodiment. Referringto FIG. 15, in steps S1-S11, the processing the same as the step S1-S11(see FIG. 10) of the previous embodiment is performed. However, in thestep S5, “NO_USE” is set to each of the variables BufChange (1),BufChange (2), . . . as well as the variable BufTrigger and the variableBufRelease.

In the succeeding step S12 a, “1” is set to a variable m indicating thenumber of fields/actions designated by a current sliding touchoperation. Referring to FIG. 16, in the step S12 b, it is determinedwhether or not a sliding operation is executed on the basis of a changeof a touched position. If the change of the touched position (that is,the difference between the touched coordinates previously output and thetouched coordinates currently output from the touch panel 24) is below athreshold value, “NO” is determined in the step S12 b, and the processproceeds to the step S13.

If the determination result in the step S12 b is “YES”, it is furtherdetermined whether or not the current touched position corresponds toanother field or another action in the step S12 c, and if “NO” here, theprocess proceeds to the step S13.

If the touched position enters a display area of another field oranother action, “YES” is determined in the step S12 c, and the processshifts to the step S12 d. In the step S12 d, a corresponding field or acorresponding action is set to the variable BufChange (m). Then, in thestep S12 e, the variable m is incremented, and then, the processproceeds to the step S13.

In the step S13, similar to the step S13 in the previous embodiment, itis determined whether or not a touch operation is ended, and if thedetermination result is “YES”, the process shifts to the step S15, butif the determination result is “NO”, the process returns to the step S12b.

Accordingly, until the touch operation is ended, the processing from thestep S12 b-S12 e is repeatedly executed, and a series of fields/actionscorresponding to a part of the slide of a sliding touch operation beingmade up of a touch on, a slide and a touch off is set to the BufChange(1), the BufChange (2), . . . .

In the steps S15-S33, the processing similar to the step S15-S33 (seeFIG. 10 and FIG. 11) in the previous embodiment is performed. However,if the determination result in the step S29 is “NO”, the processproceeds to the step S34 a, and if the determination result in the stepS29 is “YES”, the process proceeds to the step S34 a through the stepsS31 and S33.

In the step S34 a, it is determined whether or not the variableBufChange (m) belongs to “action”, and if the determination result is“NO”, the process proceeds to the step S35. If the determination resultin the step S34 a is “YES”, the variable BufChange (m) is set to theData (0) in the step S34 b, the variable BufChange (m) is reset in thestep S34 c, the variable m is decremented in the step S34 d, and then,the process proceeds to the step S35.

Thus, if any action is set to the variable BufChange (m), the action isan action last designated in the sliding touch operation, and therefore,the action is set to the Data (0). Thereafter, the BufChange (m) isreset, and the variable m is decremented.

In the steps S35-S45, the processing similar to the steps S35-S45 (seeFIG. 12) in the previous embodiment is executed. If the determinationresult in the step S41 is “YES”, the process proceeds to the step S46 a,and if the determination result in the step S41 is “NO”, the processproceeds to the step S46 a through the steps S43 and S45.

In the step S46 a, it is determined whether or not the variable m is“0”, and if the determination result is “YES”, the process proceeds tothe step S47. If the determination result in the step S46 a is “NO”, thevariable BufChange (m) is set to the Data (n) in the step S46 b, thevariable n is incremented in the step S46 c, and the variable m isdecremented in the step S46 d, and then, the process returns to the stepS46 a.

Accordingly, until m=0, the steps S46 b-S46 d are repeatedly executed,and as a result, the BufChange (2) is set to the Data (1), and theBufChange (1) is set to the Data (2), for example.

Referring to FIG. 19, in the steps S47-S57, the processing the same asthe steps S47-S57 in the previous embodiment is executed.

According to the processing in FIG. 15-FIG. 19, similar to the caseaccording to the processing in FIG. 10-FIG. 13, in a case that A wantsto make an attack on C, even if “F1-F3/A1” is input according to theJapanese syntax or even if “F1/A1/F3” is input according to the Englishsyntax, the Data array complying with the Data array DB can be obtained,and consequently, processing corresponding to the obtained Data array,that is, attack processing on C by A is executed.

Furthermore, unlikely to the case according the processing in FIG.10-FIG. 13, even if “F1-F3-A1” is input in place of “F1-F3/A1”, that is,“S+O+V” is input by a single sliding touch operation, a similar attackprocessing is executed. Furthermore, even if “F3-F1-F2-A4” is input inplace of “F3-F1/A4/F2”, the game apparatus 10 executes interchangeprocessing between “A” and “B” by “C”.

As understood from the above description, in the modified example, theCPU core 34 repeatedly accepts a touch operation for designating atleast one out of the plurality of command elements (field F1-F4 andaction A1, A2, . . . ) making up of a command (S7, S9, S13, S15, S12 b,S12 c), and writes a command element corresponding to the accepted touchoperation in the buffer area 74 (S11, S17, S12 d).

Here, the touch operation includes a click-touch operation (firstoperation) and a sliding touch operation (second operation).Furthermore, the buffer area 74 further includes the BufChange (1) area74 c, the BufChange (2) area 74 d, . . . in addition to the BufTriggerarea 74 a and BufRelease area 74 b. In the BufChange (1) area 74 c andthe BufChange (2) area 74 d, . . . , a series of command elementscorresponding to a sliding operation (the rest of the operation obtainedby removing a touch-on operation and a touch-off operation from thesliding touch operation) is stored.

Furthermore, at least one of the first memory writing processing and thesecond memory writing processing is executed in response to the bufferwriting processing (S23-S51, S34 a-S34 d, S46 a-S46 d). Then, every timethat any of the memory writing processing is executed, it is determinedwhether or not the command element array stored in the Data (0)-Data (4)satisfies the execution allowable condition (Data array DB: 76 c) (S53),and when it is determined that the command element array satisfies theexecution allowable condition, the processing according to the commandelement array is executed (S55).

Due to this, three or more command elements can be designated by asingle sliding touch operation.

It should be noted that in each of the embodiment and the modifiedexample, the touch panel 24 is utilized as a means of acceptingoperations of designating a plurality of command elements in turn, butother pointing devices such as a mouse, a track ball, a touch pad, akeyboard, etc. can be utilized.

In the above description, although the game apparatus 10 is explained,the present invention can be applied to other information processingapparatuses such as a personal computer, a hand-held informationterminal, a cellular phone, etc.

Although the present invention has been described and illustrated indetail, it is clearly understood that the same is by way of illustrationand example only and is not to be taken by way of limitation, the spiritand scope of the present invention being limited only by the terms ofthe appended claims.

1. An recording medium storing an information processing program,wherein said information processing program causes a computer of aninformation processing apparatus for processing information according toa command to execute: an accepting step for repeatedly accepting anoperation to designate at least one of a plurality of command elementsmaking up of said command; a memory writing step for executing at leastany one of a first memory writing processing to write a first commandelement having a specific attitude out of the command elementscorresponding to the operation accepted by said accepting step in afirst memory and a second memory writing processing to write a secondcommand element having an attitude different from said specific attitudeout of the command elements corresponding to the operation accepted bysaid accepting step in a second memory; a first determining step fordetermining whether or not a command element array stored over saidfirst memory and said second memory satisfies an execution allowablecondition every time that the writing processing by said memory writingstep is executed; and an information processing step for, when saidfirst determining step determines that the command element array storedover said first memory and said second memory satisfies the executionallowable condition, processing information according to said commandelement array.
 2. A recording medium recording an information processingprogram according to claim 1, wherein said operation includes a firstoperation for designating a single command element with a point, and asecond operation for designating a plurality of command elements with aline.
 3. A recording medium recording an information processing programaccording to claim 2, wherein said plurality of command elements makingup of said command are displayed on a display, said first operation is aclick-touch operation including a touch-on operation to an arbitrarypoint within a touch panel provided on said display and a touch-offoperation from said point, and said second operation is a sliding touchoperation including a touch-on operation to an arbitrary first pointwithin said touch panel, a sliding operation from said first point to anarbitrary second point within said touch panel, and a touch-offoperation from said second point.
 4. A recording medium recording aninformation processing program according to claim 3, wherein saidinformation processing program causes said computer to further execute abuffer writing step for writing a command element corresponding to theoperation accepted by said accepting step in a buffer, said bufferincludes a first buffer and a second buffer, said buffer writing stepwrites a command element corresponding to said touch-on operation insaid first buffer while writing a command element corresponding to saidtouch-off operation in said second buffer, and said memory writing stepwrites the command elements stored in said first buffer and said secondbuffer in response to the writing processing by said buffer writing stepin said first memory or said second memory.
 5. A recording mediumrecording an information processing program according to claim 4,wherein said information processing program causes said computer tofurther execute: a second determining step for determining whether ornot the command element stored in said first buffer and the commandelement stored in said second buffer are coincident with each otherafter the writing processing by said buffer writing step; and aresetting step for resetting said second buffer when said seconddetermining step determines that the command element stored in saidfirst buffer and the command element stored in said second buffer arecoincident with each other.
 6. A recording medium recording aninformation processing program according to claim 4, wherein said bufferfurther includes a third buffer, and said buffer writing step furtherwrites one or a plurality of command elements corresponding to saidsliding operation in said third buffer.
 7. A recording medium recordingan information processing program according to claim 1, wherein saidfirst command element is a command element having a function of a verbin a natural language, and said second command element is a commandelement having a function of any one of a subject and an object inassociation with said verb.
 8. A recording medium recording aninformation processing program according to claim 7, wherein saidnatural language includes a first natural language forming a sentenceindicating said command in an order of a subject, an object and a verb,and a second natural language forming the sentence indicating saidcommand in an order of a subject, a verb and an object, and saidoperation designates a plurality of command elements making up of saidcommand according to a syntax of the natural language arbitrarilyselected out of said first natural language and said second naturallanguage.
 9. A recording medium recording an information processingprogram according to claim 1, wherein the determination processing bysaid first determining step is based on a database describing one or aplurality of executable command element arrays.
 10. An informationprocessing apparatus for processing information according to a command,comprising: an accepting means for repeatedly accepting an operation todesignate at least one of a plurality of command elements making up ofsaid command; a memory writing means for executing at least any one of afirst memory writing processing to write a first command element havinga specific attitude out of the command elements corresponding to theoperation accepted by said accepting means in a first memory and asecond memory writing processing to write with movement a second commandelement having an attitude different from said specific attitude out ofthe command elements corresponding to the operation accepted by saidaccepting means in a second memory; a determining means for determiningwhether or not a command element array stored over said first memory andsaid second memory satisfies an execution allowable condition every timethat the writing processing by said memory writing means is executed;and an information processing means for, when said determining meansdetermines that the command element array stored over said first memoryand said second memory satisfies the execution allowable condition,processing information according to said command element array.
 11. Amethod of processing information according to a command, comprising: anaccepting step for repeatedly accepting an operation to designate atleast one of a plurality of command elements making up of said command;a memory writing step for executing at least any one of a first memorywriting processing to write a first command element having a specificattitude out of the command elements corresponding to the operationaccepted by said accepting step in a first memory and a second memorywriting processing to write a second command element having an attitudedifferent from said specific attitude out of the command elementscorresponding to the operation accepted by said accepting step in asecond memory; a first determining step for determining whether or not acommand element array stored over said first memory and said secondmemory satisfies an execution allowable condition every time that thewriting processing by said memory writing step is executed; and aninformation processing step for, when said first determining stepdetermines that the command element array stored over said first memoryand said second memory satisfies the execution allowable condition,processing information according to said command element array.